#ifndef GAME_FACTORY_H
#define GAME_FACTORY_H

#include "EntityTypes.h"
#include "Vector2D.h"

// This class will be responsible for the creation of all the BaseGame entities
// including buildings and characters


class Character;
class Building;

#define Factory GameFactory::Instance()

class GameFactory 
{
	GameFactory() {};
	GameFactory(const GameFactory&) {};


public:
	static GameFactory* Instance();

	Character* CreateCharacter(GameCharacterID, Vector2D pos = Vector2D(-1.0, -1.0));
	Building* CreateBuilding(GameBuildingID, Vector2D pos = Vector2D(-1.0, -1.0));
};


#endif